// Decompiled by DJ v3.7.7.81 Copyright 2004 Atanas Neshkov  Date: 2007-9-15 18:53:58

// Decompiler options: packimports(3) fieldsfirst ansi 
// Source File Name:   jy.java

package com.zelix;

import java.io.Serializable;
import java.util.*;

// Referenced classes of package com.zelix:
//            av, cv, dv, px, 
//            hs

public class jy
    implements Serializable, Map
{

    private HashMap a;
    private ArrayList b;
    private static String z[];

    public jy()
    {
        a = new HashMap();
        b = new ArrayList();
    }

    public jy(int i)
    {
        a = new HashMap(px.a(i));
        b = new ArrayList(i);
    }

    public jy(jy jy1)
    {
        int k;
        k = hs.c;
        this(jy1.size());
        jy jy2 = jy1;
        jy2;
        JVM INSTR monitorenter ;
        int i;
        int j;
        i = jy1.size();
        j = 0;
        if(k == 0) goto _L2; else goto _L1
_L1:
        dv dv1 = (dv)jy1.b.get(j);
        a.put(dv1.a(), dv1);
        b.add(dv1);
        j++;
_L2:
        if(j < i) goto _L1; else goto _L3
_L3:
        jy2;
        JVM INSTR monitorexit ;
          goto _L4
        jy2;
        JVM INSTR monitorexit ;
        throw ;
_L4:
    }

    public synchronized void clear()
    {
        a.clear();
        b.clear();
    }

    public synchronized Object clone()
    {
        return new jy(this);
    }

    public synchronized boolean containsKey(Object obj)
    {
        return a.containsKey(obj);
    }

    public synchronized boolean containsValue(Object obj)
    {
        int i;
        int j;
        int k;
        k = hs.c;
        i = b.size();
        j = 0;
        if(k == 0) goto _L2; else goto _L1
_L1:
        dv dv1 = (dv)b.get(j);
        if(dv1.b().equals(obj))
            return true;
        j++;
_L2:
        if(j >= i)
            return false;
        if(true) goto _L1; else goto _L3
_L3:
    }

    public synchronized Set entrySet()
    {
        return Collections.unmodifiableSet(new HashSet(b));
    }

    public synchronized Object get(Object obj)
    {
        Object obj1 = a.get(obj);
        if(obj1 == null)
            return null;
        else
            return ((dv)obj1).b();
    }

    public synchronized Object a(int i)
    {
        if(i < 0 || i >= b.size())
        {
            throw new IllegalArgumentException(z[0] + i + z[2] + b.size());
        } else
        {
            dv dv1 = (dv)b.get(i);
            return dv1.a();
        }
    }

    private Object[] b()
    {
        int i;
        Object aobj[];
        int j;
        int k;
        k = hs.c;
        i = b.size();
        aobj = new Object[i];
        j = 0;
        if(k == 0) goto _L2; else goto _L1
_L1:
        dv dv1 = (dv)b.get(j);
        aobj[j] = dv1.a();
        j++;
_L2:
        if(j >= i)
            return aobj;
        if(true) goto _L1; else goto _L3
_L3:
    }

    private Object[] c()
    {
        int i;
        Object aobj[];
        int j;
        int k;
        k = hs.c;
        i = b.size();
        aobj = new Object[i];
        j = 0;
        if(k == 0) goto _L2; else goto _L1
_L1:
        dv dv1 = (dv)b.get(j);
        aobj[j] = dv1.b();
        j++;
_L2:
        if(j >= i)
            return aobj;
        if(true) goto _L1; else goto _L3
_L3:
    }

    public int a(Object obj)
    {
        int k = hs.c;
        if(!a.containsKey(obj)) goto _L2; else goto _L1
_L1:
        int i;
        int j;
        i = b.size();
        j = 0;
        if(k == 0) goto _L4; else goto _L3
_L3:
        dv dv1 = (dv)b.get(j);
        if(dv1.a().equals(obj))
            return j;
        j++;
_L4:
        if(j < i) goto _L3; else goto _L2
_L2:
        return -1;
    }

    public boolean isEmpty()
    {
        return a.isEmpty();
    }

    public synchronized Set keySet()
    {
        return Collections.unmodifiableSet(a.keySet());
    }

    public synchronized Enumeration d()
    {
        return new cv(b());
    }

    public synchronized Object put(Object obj, Object obj1)
    {
        Object obj2;
label0:
        {
            obj2 = null;
            dv dv1 = (dv)a.get(obj);
            if(dv1 == null)
            {
                dv1 = new dv(obj, obj1);
                a.put(obj, dv1);
                b.add(dv1);
                if(hs.c == 0)
                    break label0;
            }
            obj2 = dv1.a(obj1);
        }
        return obj2;
    }

    public synchronized void putAll(Map map)
    {
        throw new UnsupportedOperationException();
    }

    public synchronized Object b(int i)
    {
        if(i < 0 || i >= b.size())
        {
            throw new IllegalArgumentException(z[0] + i + z[2] + b.size());
        } else
        {
            dv dv1 = (dv)b.remove(i);
            Object obj = a.remove(dv1.a());
            return ((dv)obj).b();
        }
    }

    public synchronized Object remove(Object obj)
    {
        Object obj1;
        Object obj2;
        int i;
        int j;
        int k;
        k = hs.c;
        obj1 = null;
        obj2 = a.remove(obj);
        if(obj2 == null)
            break MISSING_BLOCK_LABEL_96;
        i = b.size();
        j = 0;
        if(k == 0) goto _L2; else goto _L1
_L1:
        dv dv1 = (dv)b.get(j);
        if(!dv1.a().equals(obj))
            continue; /* Loop/switch isn't completed */
        b.remove(j);
        if(k == 0)
            break; /* Loop/switch isn't completed */
        j++;
_L2:
        if(j < i) goto _L1; else goto _L3
_L3:
        obj1 = ((dv)obj2).b();
        return obj1;
    }

    public synchronized Object a(int i, Object obj, Object obj1)
    {
        if(i < 0 || i >= b.size())
            throw new IllegalArgumentException(z[0] + i + z[2] + b.size());
        if(a.containsKey(obj))
        {
            if(a.get(obj).equals(b.get(i)))
                return ((dv)b.get(i)).b();
            else
                throw new IllegalArgumentException("'" + obj + z[1]);
        } else
        {
            dv dv1 = new dv(obj, obj1);
            dv dv2 = (dv)b.set(i, dv1);
            Object obj2 = a.remove(dv2.a());
            a.put(obj, dv1);
            return ((dv)obj2).b();
        }
    }

    public int size()
    {
        return b.size();
    }

    public synchronized Collection values()
    {
        return new av(c());
    }

    private static String z(char ac[]) {
        for (int i = 0; i < ac.length; i++) {
            byte key = 0;
            switch (i % 5) {
                case 0:
                    key =0x36;
                    break;
                case 1:
                    key =57;
                    break;
                case 2:
                    key =106;
                    break;
                case 3:
                    key =76;
                    break;
                default:
                    key =70;
                    break;
            }
            ac[i] ^= key;
        }
        return new String(ac).intern();
    }

    static 
    {
        String as[];
        as = new String[3];
        as[0] = "\177W\016)>\026";
        as[1] = "\021\031\003?fXV\036l'\026L\004%7C\\J'#O";
        as[2] = "\026V\0378fY_J>'X^\017l|\026";
        for (int i = 0; i < as.length; i++) {
            as[i] = z(as[i].toCharArray());
        }
        z = as;

    }
}